package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/** JDK1.8后推出了一个新特性:Lambda内部类
        可以更简洁的代码实现匿名内部类
        1)不是如何匿名内部类都可以转换为Lambda
        2)Lambda表达式对接口的要求:只能是函数接口
        3)函数式就口:接口中要求实现类必须重写的方法只有一个
        * */
public class LambdaDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        Collections.sort(list, new Comparator<String>() {
            public int compare(String o1, String o2) {
                return o1.length()-o2.length();
            }
        });
        //Lambda表达式方法体中只有一句代码,方法体的{}可以不写,如果这句话中return,也不写
        Collections.sort(list,(o1,o2) -> o1.length()-o2.length());
        //Lambda表达式的方法参数只有1个,那么()可以忽略不写---本案例不使用







    }
}
